/*
 * @Description: 模块名称
 * @Author: ym
 * @Date: 2021-03-05 09:23:06
 * @LastEditTime: 2022-02-22 09:36:32
 */
/* eslint-disable */
//汉字、数字、字母、下划线
export const isNameRegular = (rule:any, value:any, callback:any) => {
  const nameV = /^[a-zA-Z0-9_\u4e00-\u9fa5]{1,20}$/;
  if (!nameV.test(value)) {
    callback(new Error(`请输入1-20位汉字/数字/字母/下划线`));
  } else {
    callback();
  }
};
// 密码 6-20
export const isPassRegular = (rule:any, value:any, callback:any) => {
  const nameV = /^[a-zA-Z0-9_]{6,20}$/;
  if (!nameV.test(value)) {
    callback(new Error(`请输入6-20位数字/字母/下划线`));
  } else {
    callback();
  }
};
//手机号
export const isMoblePhoneRegular = (rule:any, value:any, callback:any) => {
  const telephoneReg = /^1[3456789]\d{9}$/;
  if (!value || value.length === 0) {
    callback(new Error(`请输入用户手机`));
  } else if (!telephoneReg.test(value)) {
    callback(new Error(`请输入正确的手机号码`));
  } else {
    callback();
  }
};
export const isMoblePhoneChange = (rule:any, value:any, callback:any) => {
  value = value.replace(/[^\d]/g, ``)
  callback()
}
// 固定电话
export const isPhoneRegular = (rule:any, value:any, callback:any) => {
  const telephoneReg = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
  if (!value ||value.length === 0) {
    callback(new Error(`请输入固定电话`));
  } else if (!telephoneReg.test(value)) {
    callback(new Error(`请输入正确的固定电话`));
  } else {
    callback();
  }
};
// 邮箱
export const isEmailRegular = (rule:any, value:any, callback:any) => {
  const emailReg = /^([a-zA-Z0-9]+[_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
  if (!value || value.length === 0) {
    callback(new Error(`请输入邮箱`));
  } else if (!emailReg.test(value.trim())) {
    callback(new Error(`请输入正确的邮箱`));
  } else {
    callback();
  }
};
// 数字、字母、下划线 4-20
export const isLoginRegular = (rule:any, value:any, callback:any) => {
  const reg = /^[a-zA-Z0-9_]{4,20}$/;
  if (!reg.test(value)) {
    callback(new Error(`请输入4-20位数字/字母/下划线`));
  } else {
    callback();
  }
};
// 域名，机构别名 数字/字母/减号/下划线,不能以符号开头或结尾
export const isDomainRegular = (rule:any, value:any, callback:any) => {
  //const nameV = /^[a-zA-Z0-9](([-_a-zA-Z0-9]*[a-zA-Z0-9])?){1,20}$/; //机构别名 数字/字母/减号/下划线,不能以符号开头或结尾
  const nameV = /^[a-zA-Z0-9]{1,20}$/  //只能输入数字字母
  const  bool = nameV.test(value)
  if (!bool) {
    //callback(new Error(`请输入1-20位数字/字母/减号/下划线,不能以符号开头或结尾`));
    callback(new Error(`只能输入1-20位数字或字母`));
  }
  callback();
};
// 备注：汉字/数字/字母/常用标点符号
export const isRemarksRegular = (rule:any, value:any, callback:any) => {
  const nameV = /^[a-zA-Z0-9_\u4e00-\u9fa5,\.;\:"'!/[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019]{0,150}$/;
  if (!nameV.test(value)) {
    return callback(new Error(`请输入1-150位汉字/数字/字母/常用标点符号`));
  }
  callback();
};

// 身份证号
export const isIdNumberRegular = (rule:any, value:any, callback:any) => {
  const nameV = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
  if (!nameV.test(value)) {
    return callback(new Error(`请输入正确的身份证号`));
  }
  callback();
};

